{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "2e32328f-8497-4b7c-9d26-dc22847bbf6e",
   "metadata": {},
   "source": [
    "## Summary\n",
    "\n",
    "See the [Release Notes for 2.4.2](../release-notes-242) for a comprehensive list of changes since the 2.4.1 release.\n",
    "\n",
    "### Dependency Managment changes\n",
    "The 2.4.2 Release upgraded some major dependencies within the *arcgis* package:\n",
    "  * *Python 3.13*\n",
    "  * *NumPy 2.3.3*\n",
    "  * *timm 1.0.14*\n",
    "\n",
    "It also removed the *TensorFlow* library as a dependency.\n",
    "\n",
    "These upgrades provide substantial performance improvements in backend processing. Depending upon the environment, Python and Numpy can leverage different frameworks that can significantly improve speed on fundamental operations such as sorting. These changes are transparent to Python developers and scripters - just continue writing your code as is, but alterations behind the scenes will contribute to better overall performance. \n",
    "\n",
    "### Improvements to GIS Administration and Content Management\n",
    "Upgrades and new classes within the [arcgis.gis]() module and the [arcgis.gis.admin](/python/latest/api-reference/arcgis.gis.admin.html) submodule streamline administrative tasks for *ArcGIS Enterprise* and *ArcGIS Enterprise on Kubernetes* deployments. The introduction of the [`AboutManager`](/python/latest/api-reference/arcgis.gis.admin.html#aboutmanager) for detailed inspection of Enterprise deployment components allows for keen oversight into aspects of usage and licensing. New [`HealthCheckManager`](/python/latest/api-reference/arcgis.gis.admin.html#healthcheckmanager), [`SuitesManager`](/python/latest/api-reference/arcgis.gis.admin.html#suitesmanager), and [`ReportManager`](/python/latest/api-reference/arcgis.gis.admin.html#reportmanager) classes provide a suite of tools for functional and availability checks to assess overall organization health in Kubernetes deployments. Enhanced performance for *dashboards* and improved handling of various item types like *Survey123 Forms* and *Web Experience* items in the [`clone_items()`](/python/latest/api-reference/arcgis.gis.toc.html#arcgis.gis.ContentManager.clone_items) method continues to advance the ability to migrate complex content. New parameters to [`import_content()`](/python/latest/api-reference/arcgis.gis.toc.html#arcgis.gis.OfflineContentManager.import_content) while offline augment the range and control of moving content to a target deployment.\n",
    "\n",
    "### Enhancements in Deep Learning and Machine Learning Capabilities\n",
    "Introduction of the new model [`Hyperspectral3DRCNet`](/python/latest/api-reference/arcgis.learn.toc.html#hyperspectral3drcnet) and support for new backbones (*clay*, *dofa*, *satlas*) for vision tasks in object classification, detection, and pixel classification improve advanced geospatial analysis significantly. Added support for *GRAD-CAM* for multi-label and multipsectral imagery in object classification and the [`classify_objects()`](/python/latest/api-reference/arcgis.learn.toc.html#classify-objects) inferencing method increase understanding of model results. The `timm` upgrade supports models signifcantly better. It also modernizes access to intermediate feature maps from backbones. This upgrade also allows the Python API to take advantage of dynamic image sizing for other tasks besides segmentation, which should reveal better overall performance for complex tasks like object detection. \n",
    "\n",
    "### Updates to Core GIS Functionality\n",
    "Focused peformance and data handling improvements for essential GIS data, particularly with *geometry* and *mapping*, make for a better analysis experience. Enhancements to [`FeatureLayer.query()`](/python/latest/api-reference/arcgis.features.toc.html#arcgis.features.FeatureLayer.query) and initializing spatially enabled dataframes with [`FeatureSet.sdf`](/python/latest/api-reference/arcgis.features.toc.html#arcgis.features.FeatureSet.sdf) reduce processing times and ensure correct results.  New [`BasemapStylesService`](/python/latest/api-reference/arcgis.map.toc.html#basemapstylesservice) and [`BasemapStyle`](/python/latest/api-reference/arcgis.map.toc.html#basemapstyle) classes introduce modern controls for managing basemap styles, languages, and worldviews. The new [arcgis.raster.realitymapping](/python/latest/api-reference/arcgis.raster.realitymapping.html) provides automation capabilities for full resolution meshes and advanced products to expand on orthomapping capabilities. Numerous bug fixes address issues in cloning *hosted feature layers* and *dashboards* and attribute handling for spatially enabled data frames to make the API even more impactful for GIS workflows."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7bd2a1dd-9e87-42fa-86ec-93c4b7ee413d",
   "metadata": {},
   "source": [
    "## Additional Details"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "10f0fb65-cff5-4b6d-acb9-d161efc0f0f5",
   "metadata": {},
   "source": [
    "### Processing option: Spatially Enabled DataFrame\n",
    "We've updated the previously titled *ARCGIS_GEOMETRY_ENGINE* to *ARCGIS_IO_ENGINE*. It refines the ability to explicitly set the library used for certain data file reading and/or writing operations of shapefiles and file geodatabases. See the API Reference for the [`GeoAccessor`](/python/latest/api-reference/arcgis.features.toc.html#arcgis.features.GeoAccessor) for details. Methods to which this processing applies are noted in the Reference documentation.\n",
    "\n",
    "You can set the processing environment at the top of a document with:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c9c961e7-87c3-4707-83a2-36b5f987da94",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "os.environ[\"ARCGIS_IO_ENGINE\"] = \"Engine_of_Choice\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1d10b181-a9c4-4fda-a741-adf51603a026",
   "metadata": {},
   "source": [
    "### Developer Credentials\n",
    "\n",
    "**New classes:**\n",
    " * [`DeveloperCredentialManager`](/python/latest/api-reference/arcgis.gis.admin.html#developercredentialmanager)\n",
    " * [`DeveloperCredential`](/python/latest/api-reference/arcgis.gis.admin.html#developercredential) classes\n",
    "**New dataclass:**\n",
    "  * [`TokenPrivilege`](/python/latest/api-reference/arcgis.gis.admin.html#tokenprivilege) dataclass\n",
    "\n",
    "These objects work together to control the access and permissions granted to *users* and *applications* by defining the specific scope of privileges for an OAuth authentication token. Among other capabilities, this provides *SAML-authenticated* users full access to all content and administrative tasks. See the platform [developer credentials](https://developers.arcgis.com/documentation/glossary/developer-credentials/) documentation for full conceptual information on the types of items these classes can help manage."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "87c252a1-7b7e-45ea-a7f4-565d16335a81",
   "metadata": {},
   "source": [
    "### Notebook Workspace Management for Online and Notebook support for Kubernetes\n",
    "\n",
    "**New class:**\n",
    "* [`NotebookFolder`](/python/latest/api-reference/arcgis.gis.nb.html#notebookfolder)\n",
    "\n",
    "**Updated class implementations for:**\n",
    "* [`NotebookDataAccess`](/python/latest/api-reference/arcgis.gis.nb.html#arcgis.gis.nb._dataaccess.NotebookDataAccess)\n",
    "* [`NotebookFile`](/python/latest/api-reference/arcgis.gis.nb.html#notebookfile)\n",
    "\n",
    "The *NotebookDataAccess* and *NotebookFile* classes have been updated with implementations for *ArcGIS Online* and *ArcGIS Enterprise on Kubernetes* notebook workspaces in addition to the previous *Notebook Server for ArcGIS Enterprise* implementation. The new *NotebookFolder* class manages capabilities for folders in workspaces. Together these classes provide workspace functionality such as uploading and downloading files, creating folders, and deleting or renaming file content. In addition, these classes allow for transferring of workspaces as well as folders and files to help administrators manager user content prior to removal from an organization."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "528e4ca6-7944-4647-ad52-43864fa2e6e2",
   "metadata": {},
   "source": [
    "### New [`arcgis.raster.realitymapping`](/python/latest/api-reference/arcgis.raster.realitymapping.html) Submodule\n",
    "\n",
    "A new submodule dedicated to automating capabilities and functionality for working with Reality Mapping Project items. See the [Introduction to the ArcGIS Reality for ArcGIS Pro extension](https://pro.arcgis.com/en/pro-app/latest/help/data/imagery/introduction-to-arcgis-reality-extension.htm) documentation for full details on creating items that this submodule can manage."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3052f93d-d768-42c3-afee-16cadbc94dec",
   "metadata": {},
   "source": [
    "### Modernized capabilities for styling Basemaps\n",
    "\n",
    "**New classes:**\n",
    "  * [`BasemapSytlesService`](/python/latest/api-reference/arcgis.map.toc.html#basemapstylesservice)\n",
    "  * [`BasemapStyle`](/python/latest/api-reference/arcgis.map.toc.html#basemapstyle)\n",
    "\n",
    "**New enumerations:**\n",
    "  * [`BasemapStylesLanguage`](/python/latest/api-reference/arcgis.map.toc.html#basemapstyleslanguage)\n",
    "  * [`BasemapStylesPlaces`](/python/latest/api-reference/arcgis.map.toc.html#basemapstylesplaces)\n",
    "  * [`BasemapStylesWorldview`](/python/latest/api-reference/arcgis.map.toc.html#basemapstylesworldview)\n",
    "\n",
    "These new classes provide access to the [ArcGIS Basemap Styles service](https://developers.arcgis.com/documentation/mapping-and-location-services/mapping/basemaps/introduction-basemap-styles-service/). This service provides the greatest number of basemap styles, styling options, server capabilities, and the best map visualization at all zoom levels. The data is provided as vector tiles and/or map tiles depending, on the style used, including full support for satellite imagery and displaying custom styles. See this [documentation](https://developers.arcgis.com/documentation/mapping-and-location-services/mapping/basemaps/) for detailed desription of the service these classes access."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
